EtherCAT Library - Drive
These function blocks are used to work with drive parameters that are not supported by ML and MC function blocks.
They support reading and writing drive parameters using the non-cyclic SDO channel in the EtherCATEtherCAT is an open, high-performance Ethernet-based fieldbus system. The development goal of EtherCAT was to apply Ethernet to automation applications which require short data update times (also called cycle times) with low communication jitter (for synchronization purposes) and low hardware costs network. The ASCII name for the parameter is used as an input.
Execution Time
These function blocks typically take a longer time to execute (up to ten cycles to finish executing).
It takes the same amount of time to Read or Write a parameter.
-
-
It takes more than one cycle to execute these function blocks (but less than 100 ms).
For more details about how to set up the update rate for SDO communication, refer to the FAQ
Reason
It is not only linked to the SDO ASCII communication. Because these FBs are waiting for the AKD drive to responds, the execution time can also increase due to the load of the AKD firmware at the time you call them.
Result
The PLC"Programmable Logic Controller"
A Programmable Logic Controller, PLC, or Programmable Controller is a digital computer used for automation of industrial processes, such as control of machinery on factory assembly lines.
Used to synchronize the flow of inputs from (physical) sensors and events with the flow of outputs to actuators and events code is overrunning the cycle duration. as explained in Tasking Model / Scheduling
As a consequence, you can see the following message in the Controller Log window:
"The Virtual Machine missed 1 cycle(s) of PLC execution"
Solution
When this happens we recommend to:
- Use these function blocks sparingly in programs
- Rely on the EtherCAT read/write SDO function blocks whenever possible
- Smooth the load of the PLC code by executing these function blocks at the required update rate. For more details, click here...
- There is a small difference in timing when running EtherCAT at 2ms compared to other frequencies.
0.25, 0.5, 1ms 2ms Mean 9ms 14ms Min 3ms 8ms Max 16ms 24ms - Max time to consider when executing a single SDO command, (i.e. before the Done output becomes true): 24ms.
- Max time to consider when executing a single Drive Parameter command (i.e. before the Done output becomes True): 60 ms
4 kHz 1 kHz Mean 20 ms 11 ms Min 15 ms 9 ms Max 45 ms 58 ms - When sending multiple commands to a single drive, only one command can be sent at a time. Therefore the time to execute multiple commands is:
Number of commands x Execution time of a single command - When commands are sent to different AKD drives at the same time, the requests do not interfere with each other. So you can be confident the function finishes execution in the same max time as to one drive.